PRELUDE: A System for Portable Parallel Software

نویسندگان

  • William E. Weihl
  • Eric A. Brewer
  • Adrian Colbrook
  • Chrysanthos Dellarocas
  • Wilson C. Hsieh
  • Anthony D. Joseph
  • Carl A. Waldspurger
  • Paul Wang
چکیده

In this paper we describe Prelude, a programming language and accompanying system support for writing portable MIMD parallel programs. Prelude supports a methodology for designing and organizing parallel programs that makes them easier to tune for particular architectures and to port to new architectures. It builds on earlier work on Emerald, Amber, and various Fortran extensions to allow the programmer to divide programs into architecture-dependent and architecture-independent parts, and then to change the architecture-dependent parts to port the program to a new machine or to tune its performance on a single machine. The architecture-dependent parts of a program are speciied by annotations that describe the mapping of a program onto a machine. Prelude provides a variety of mapping mechanisms similar to those in other systems, including remote procedure call, object migration , and data replication and partitioning. In addition, Prelude includes novel migration mechanisms for computations based on a form of continuation passing. The implementation of object migration in Prelude uses a novel approach based on xup blocks that is more eecient than previous approaches, and amortizes the cost of each migration so that the cost per migration drops as the frequency of migrations increases. The current implementation of Prelude is built on top of Proteus, a conngurable simulator that provides both fast and accurate simulations of a wide range of MIMD architectures. Proteus itself is a useful tool for developing parallel applications, since it provides powerful non-intrusive debugging and performance monitoring capabilities that are diicult or impossible to obtain on a real machine. Much of the testing, debugging, and initial testing of an application can be accomplished using Proteus, typically with less eeort than would be required on a real machine. In addition, Proteus allows the programmer to test the scalability and portability of a program, including on a range of machine sizes and architectures not supported by available machines. We are using Proteus to develop our initial prototype of Prelude, and plan to port the implementation of Prelude to commercial and research multiprocessors in the near future.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

PRELUDE : A System for Portable ParallelSoftwarebyWilliam

In this paper we describe Prelude, a programming language and accompanying system support for writing portable MIMD parallel programs. Prelude supports a methodology for designing and organizing parallel programs that makes them easier to tune for particular architectures and to port to new architectures. It builds on earlier work on Emerald, Amber, and various Fortran extensions to allow the p...

متن کامل

Parallel computing using MPI and OpenMP on self-configured platform, UMZHPC.

Parallel computing is a topic of interest for a broad scientific community since it facilitates many time-consuming algorithms in different application domains.In this paper, we introduce a novel platform for parallel computing by using MPI and OpenMP programming languages based on set of networked PCs. UMZHPC is a free Linux-based parallel computing infrastructure that has been developed to cr...

متن کامل

Dynamic process management in an MPI setting

We describe an architecture for the runtime environment for parallel applications as prelude to describing how parallel application might interface to their environment in a portable way. We propose extensions to the Message-Passing Interface (MPI) Standard that provide for dynamic process management, including spawning of new processes by a running application and connection to existing proces...

متن کامل

Software Knows Best: A Case for Hardware Transparency and Measurability

Future gains in computer system performance will only come from increased parallelism and efficient execution on specialized hardware. However parallel programming is more difficult than sequential programming, which means parallel programming will only be used if it leads to improved performance or energy efficiency. Because portability and reusability are required to reduce software costs, pa...

متن کامل

operations bulk synchronous execution

The takeup of parallel computing has been hampered by the lack of portable software. The BSP model allows the design of portable code for regular computations. This paper describes the use of the WPRAM model to support more irregular problems. A shared queue data type is described, which provides predictable and scalable performance characteristics. The queue can be used to structure the sharin...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1992